home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 027a / wipe112.zip / DEMO501.PRG next >
Text File  |  1991-12-01  |  28KB  |  927 lines

  1. /*
  2.  
  3.   The Wipeout Library v1.2 for Clipper - 5.01 Demonstration
  4.  
  5.   Program   : DEMO5.PRG
  6.   Author    : Mark Lussier
  7.   Copyright : (c) 1991 by Mark Lussier
  8.         : All Rights Reserved
  9.   Compile   : Clipper DEMO5.PRG /N
  10.  
  11.   Comments  : This demo is nothing fancy is regards to coding. It's
  12.           purpose is to demonstrate the Functions in this LIB.
  13.           It in NO WAY reflects the coding styles used in the
  14.           creation of the LIB. The Clipper 5.01 is written in
  15.           COMPLETELY OPTIMZED 5.01 code and not just recompiled
  16.           Summer '87.
  17.  
  18.   History   : 11/15/91 - Complete Rewrite of Demo < MTL >
  19.  
  20. */
  21.  
  22. #command CENTER <c> ON <val> [COLOR <color>];
  23.      =>;
  24.      mCenter( <c>, <val> [,<color>] )
  25.  
  26. #include "setcurs.ch"
  27.  
  28. Static ssPoint         // PRG wide static holding the Screen Stack Pointer
  29.  
  30. Function Main()
  31. Local temp_scr, getlist, t, click, Ebox, OldColor, lScp
  32. setcursor( SC_NONE )
  33. OldColor := Setcolor( "W+/N" )
  34. CLEA
  35.  
  36. *************
  37.  Wipe_Init()     // Required call if Library is to Function
  38. *************
  39. Dispbegin()
  40.   Intro()
  41.   vsave()
  42.   SETCOLOR( "W+/R" )
  43.   CLEA
  44.   Center "Presenting..." On 12  COLOR "GR+/R"
  45. Dispend()
  46.  
  47. Inkey(1)
  48.  
  49. blindl( "W+/B",, .T. )
  50. vrel()
  51. Inkey( 10 )
  52. setcolor( "w+/BG" )
  53. Clea
  54. @ 00,02 SAY "Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(8)+"Wipeout Library"
  55. @ 03,09 SAY "≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(8)+"≡"
  56. @ 06,02 SAY "Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(8)+"Wipeout Library"
  57. @ 09,09 SAY "≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(8)+"≡"
  58. @ 12,02 SAY "Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(8)+"Wipeout Library"
  59. @ 15,09 SAY "≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(8)+"≡"
  60. @ 18,02 SAY "Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(8)+"Wipeout Library"
  61. @ 21,09 SAY "≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(8)+"≡"
  62. @ 24,02 SAY "Wipeout Library"+space(7)+"≡"+space(7)+"Wipeout Library"+space(7)+"≡"+space(8)+"Wipeout Library"
  63. inkey(1)
  64. ssPoint := Push_Scr( 00, 00, 24, 79 )
  65. SETCOLOR( "+GR/BR" )
  66. @ 03, 13, 21, 64 BOX "┌─┐│┘─└│ "
  67. shadow( 03, 13, 21, 64 )
  68. SETCOLOR( "+W/BR" )
  69. @ 05,16 SAY "Welcome to"
  70. @ 07,15 SAY "This library is a collection of screen routines"
  71. @ 08,15 SAY "that provide a developer with a plethora of very"
  72. @ 09,15 SAY "useful and useless functions regarding screen &"
  73. @ 10,15 SAY "video control. From fancy wipes to exploding &"
  74. @ 11,15 SAY "imploding things, it's designed to add the bells"
  75. @ 12,15 SAY "and whisltes left out. Often considered to be of"
  76. @ 13,15 SAY "annoyance to programmers, it often adds flare and"
  77. @ 14,15 SAY "pizzazz to a user that he or she usually will be"
  78. @ 15,15 SAY "very fond of.                 has been released"
  79. @ 16,15 SAY "under the           concept for a meager ammount"
  80. @ 17,15 SAY "of $19.95 (USD). Thanks for your support"
  81. @ 19,41 SAY "                Author"
  82. SETCOLOR( "+BG/R" )
  83. @ 03,13 SAY space(11)+"Wipeout Library Demonstration"+space(12)
  84. SETCOLOR( "+GR/BR" )
  85. @ 05,27 SAY "The Wipeout Library"
  86. SETCOLOR( "+G/BR" )
  87. @ 05,47 SAY "for Clipper(tm)"
  88. @ 15,29 SAY "Wipeout Library"
  89. SETCOLOR( "B/BR" )
  90. @ 16,25 SAY "Shareware"
  91. SETCOLOR( "+BG/BR" )
  92. @ 18,41 SAY "Mark Lussier"
  93. SETCOLOR( "+G/BR" )
  94. @ 19,41 SAY "Wipeout Library "
  95. inkey( 30 )
  96. ThreshLR( "W+/N" )
  97.  
  98. /*
  99.  
  100.    Demonstration of the SHADOW() Function
  101.  
  102. */
  103.  
  104. Pop_Scr( ssPoint )       // Retrieve Wipeout Logo Background from the Stack
  105. SETCOLOR( "+GR/R" )
  106. @ 07, 13, 16, 65 BOX "         "
  107. shadow( 07, 13, 16, 65 )
  108. @ 08,16 SAY "For the first demonstration, notice the shadow"
  109. @ 09,17 SAY "that has been applied to this box. Using the"
  110. @ 10,16 SAY "Wipeout function SHADOW(), you can create true"
  111. @ 11,16 SAY "box shadows with incredible ease. No longer do"
  112. @ 12,17 SAY "you need to calculate positions, simply feed"
  113. @ 13,17 SAY "SHADOW() the same positions as your @....BOX"
  114. @ 14,18 SAY "statement and it will automaticaly add the"
  115. @ 15,25 SAY "shadow where it needs to be."
  116. inkey( 20 )         // Wait for keypress, 20 Second Timeout
  117.  
  118. /*
  119.  
  120.    Demonstration of the BoxIn() and BoxOut() Functions
  121.  
  122. */
  123.  
  124. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  125. SETCOLOR( "+GR/B" )
  126. @ 06, 14, 17, 65 BOX "┌─┐│┘─└│ "
  127. shadow( 06, 14, 17, 65 )
  128. SETCOLOR( "+W/B" )
  129. @ 07,16 SAY "                provides a multitude of screen"
  130. @ 08,16 SAY "clearing functions. Of course including the now"
  131. @ 09,16 SAY "infamous 'Venetian Blind' wipes to our own BOXIN"
  132. @ 10,16 SAY "and BOXOUT functions which I would like to start"
  133. @ 11,16 SAY "the demonstration with."
  134. @ 13,16 SAY "So without further delay, I present"
  135. @ 14,16 SAY "which as you shall see preforms a spiral squared"
  136. @ 15,16 SAY "wipe in a spiral fashion."
  137. SETCOLOR( "+BG/B" )
  138. @ 17,28 SAY " Press any key to begin "
  139. SETCOLOR( "+G/B" )
  140. @ 07,16 SAY "Wipeout Library"
  141. SETCOLOR( "+BR/B" )
  142. @ 13,52 SAY "BOXOUT()"
  143. inkey( 20 )
  144. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  145. SETCOLOR( "to w/n" )
  146. Boxout( "W+/N" )
  147. inkey( 1 )
  148. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  149. setcursor( SC_NONE )
  150. inkey( .4 )
  151. SETCOLOR( "+GR/B" )
  152. @ 08, 19, 13, 59 BOX "┌─┐│┘─└│ "
  153. shadow( 08, 19, 13, 59 )
  154. SETCOLOR( "+W/B" )
  155. @ 10, 24 SAY "And of of course the reverse..."
  156. SETCOLOR( "+BG/B" )
  157. @ 13,32 SAY " Press any key "
  158. SETCOLOR( "+BR/B" )
  159. @ 11,35 SAY "BOXIN()"
  160. inkey( 20 )
  161. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  162. SETCOLOR( "w/n" )
  163. Boxin( "W+/N" )
  164. inkey( 1 )
  165.  
  166. /*
  167.  
  168.    Demonstration of the Venitian Blind Wipes
  169.  
  170. */
  171.  
  172. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  173. inkey( .4 )
  174. SETCOLOR( "+GR/B" )
  175. @ 08, 13, 16, 65 BOX "┌─┐│┘─└│ "
  176. shadow( 08, 13, 16, 65 )
  177. SETCOLOR( "+W/B" )
  178. @ 10,15 SAY "But what screen Library would be complete without"
  179. @ 11,17 SAY "those '              ' wipes. Here for their"
  180. @ 12,19 SAY "umpteenth apearance in a function library."
  181. @ 14,29 SAY "         and"
  182. SETCOLOR( "+GR/B" )
  183. @ 11,24 SAY "Venetian Blind"
  184. SETCOLOR( "+BR/B" )
  185. @ 14,29 SAY "BLINDL()"
  186. @ 14,42 SAY "BLINDR()"
  187. inkey( 20 )
  188. setcolor( "w/n" )
  189. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  190. inkey( .2 )
  191. BLINDL( "W+/N" )
  192. inkey( 1 )
  193. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  194. inkey( 1 )
  195. BLINDR( "W+/N" )
  196. inkey( 1 )
  197.  
  198. /*
  199.  
  200.    Demonstration of the Left and Right plain wipes
  201.  
  202. */
  203.  
  204. Pop_Scr( 1 )          // Retrieve Wipeout Logo Background from the Stack
  205. inkey( .4 )
  206. SETCOLOR( "+GR/R" )
  207. @ 06, 11, 17, 67 BOX "┌─┐│┘─└│ "
  208. shadow( 06, 11, 17, 67 )
  209. SETCOLOR( "+W/R" )
  210. @ 08,13 SAY "But of course some people are old fashioned and like"
  211. @ 09,13 SAY "to be a bit conservative in their flair. In fact some"
  212. @ 10,13 SAY "of those people work for us!. But to please them all"
  213. @ 11,13 SAY "we added the ever drab and boring standard left and"
  214. @ 12,13 SAY "right plain wipes         and        . So without any"
  215. @ 13,13 SAY "further ado and no hype, heck how can you hype such"
  216. @ 14,13 SAY "an amazing display of video magic any more than has"
  217. @ 15,13 SAY "already been done."
  218. SETCOLOR( "+BG/R" )
  219. @ 17,26 SAY " Press any key to continue "
  220. SETCOLOR( "+G/R" )
  221. @ 12,31 SAY "WIPEL()"
  222. @ 12,43 SAY "WIPER()"
  223. inkey( 20 )
  224. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  225. SETCOLOR( "w/n" )
  226. WIPEL( "W+/N" )
  227. inkey( 1 )
  228. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  229. inkey( .4 )
  230. WIPER( "W+/N" )
  231. inkey( 1 )
  232.  
  233.  
  234. /*
  235.  
  236.    Demonstration of the Bells and Whistles
  237.  
  238. */
  239.  
  240. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  241. inkey( .4 )
  242. SETCOLOR( "+GR/BR" )
  243. @ 03, 14, 21, 66 BOX "┌─┐│┘─└│ "
  244. shadow( 03, 14, 21, 66 )
  245. SETCOLOR( "+W/BR" )
  246. @ 04,16 SAY "What Library would be complete without a few"
  247. @ 05,16 SAY "tones to fulfill the claim of Bells and Whistles."
  248. @ 07,16 SAY "For this we have borrowed a few of our favorite"
  249. @ 08,16 SAY "routines from Greg Lief's Public Domain Library."
  250. @ 10,16 SAY "I present to you the WHISTLE() function and it's"
  251. @ 11,16 SAY "gathering of sounds. Which by chance sound like"
  252. @ 12,16 SAY "these"
  253. SETCOLOR( "+BG/BR" )
  254. @ 05,46 SAY "Bells and Whistles"
  255. SETCOLOR( "+GR/BR" )
  256. @ 08,30 SAY "Greg Lief's"
  257. SETCOLOR( "+G/BR" )
  258. @ 10,37 SAY "WHISTLE()"
  259. SETCOLOR( "+bg/br" )
  260. @ 21,27 SAY " Press any key to continue "
  261. inkey( 10 )
  262. setcolor( "w+/br" )
  263. @ 14,18 SAY "The Sound"+space(21)+"The Commands"
  264. @ 15,16 SAY "------------------------------------------------"
  265. @ 16,16 SAY "The      whistle"
  266. SETCOLOR( "+GR/BR" )
  267. @ 16,20 SAY "ATTN"
  268. SETCOLOR( "+G/BR" )
  269. @ 16,47 SAY "WHISTLE('ATTN')"
  270. whistle( "attn" )
  271. inkey( 1 )
  272. setcolor( "w+/br" )
  273. @ 17,16 SAY "The      whislte"
  274. SETCOLOR( "+GR/BR" )
  275. @ 17,20 SAY "DONE"
  276. SETCOLOR( "+G/BR" )
  277. @ 17,47 SAY "WHISTLE('DONE') "
  278. whistle( "done" )
  279. inkey( 1 )
  280. setcolor( "w+/br" )
  281. @ 18,16 SAY "The       whistle"
  282. SETCOLOR( "+GR/BR" )
  283. @ 18,20 SAY "ERROR"
  284. SETCOLOR( "+G/BR" )
  285. @ 18,47 SAY "WHISTLE('ERROR')"
  286. whistle( "error" )
  287. inkey( 1 )
  288. setcolor( "w+/br" )
  289. @ 19,16 SAY "The        whistle"
  290. SETCOLOR( "+GR/BR" )
  291. @ 19,20 SAY "CHARGE"
  292. SETCOLOR( "+G/BR" )
  293. @ 19,47 SAY "WHISTLE('CHARGE')"
  294. whistle( "charge" )
  295. inkey( 3 )
  296.  
  297. /*
  298.  
  299.    Demonstration of the Exploding and Imploding Box Routines
  300.  
  301. */
  302.  
  303. SETCOLOR( "+BG/BR" )
  304. Pop_Scr( ssPoint )    // Retrieve Wipeout Logo Background from the Stack
  305. inkey( 1 )
  306. SETCOLOR( "+GR/R" )
  307. @ 06, 9, 17, 69 BOX "┌─┐│┘─└│ "
  308. shadow( 06, 09, 17, 69 )
  309. SETCOLOR( "+W/R" )
  310. @ 08,13 SAY "Ah yes we haven't forgotten our own implementation of"
  311. @ 09,11 SAY "the           and           box routines. However we have"
  312. @ 10,14 SAY "taken it one step beyond the norm. Instead of that"
  313. @ 11,11 SAY "explode from the center stuff, we explode up from a line"
  314. @ 12,11 SAY "specified on the function command line. You will see the"
  315. @ 13,12 SAY "effect of the box '               ' as it explodes. In"
  316. @ 14,12 SAY "reverse, we have the ability to Implode that very same"
  317. @ 15,11 SAY "box utilizing a '                   ' effect. Just watch!"
  318. SETCOLOR( "+BG/R" )
  319. @ 17,26 SAY " Press any key to continue "
  320. SETCOLOR( "+G/R" )
  321. @ 09,15 SAY "EXPLODE()"
  322. @ 09,29 SAY "IMPLODE()"
  323. SETCOLOR( "+BG/R" )
  324. @ 13,31 SAY "Growing Upwards"
  325. @ 15,28 SAY "Shrinking Downwards"
  326. inkey( 20 )
  327. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  328. setcolor( "bg+/br" )
  329. inkey( .4 )
  330. Ebox := Explode( 09, 19, 13, 59,"╔═╗║╝═╚║ ", 23, 39)
  331. inkey( 1 )
  332. center( 11, "And now we shall 'IMPLODE()' it", "W+/BR" )
  333. inkey( 2 )
  334. implode( 09, 19, 13, 59, "╔═╗║╝═╚║ ", 23, 39, Ebox )
  335.  
  336.  
  337. /*
  338.  
  339.    Demonstration of the Crazy Box Wipe!
  340.  
  341. */
  342.  
  343. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  344. inkey( 4 )
  345. whistle( "attn" )
  346. SETCOLOR( "+GR/B" )
  347. @ 04, 15, 20, 64 BOX "┌─┐│┘─└│ "
  348. shadow( 04, 15, 20, 64 )
  349. SETCOLOR( "+W/B" )
  350. @ 05,17 SAY "wait a minute I forgot one...."
  351. @ 07,17 SAY "Yes thats true, in all my excitement I forgot"
  352. @ 08,17 SAY "to demonstrate my favorite screen wipe routine"
  353. @ 09,17 SAY "of them all,         . What is it? Well we"
  354. @ 10,17 SAY "have to protect some secrets now don't we!."
  355. @ 12,17 SAY "But I am a weak hearted soul and have decided"
  356. @ 13,17 SAY "that since you have been patient enough to"
  357. @ 14,17 SAY "have come this far with the demonstration that"
  358. @ 15,17 SAY "I will show....Oh my god, the radio TV News"
  359. @ 16,17 SAY "persons just announced that their are incoming"
  360. @ 17,17 SAY "space aliens from     . Everybody run and take"
  361. @ 18,17 SAY "cover. Women and............."
  362. SETCOLOR( "+GR/B" )
  363. @ 09,30 SAY "CRAZYB()"
  364. SETCOLOR( "+G/B" )
  365. @ 17,35 SAY "Mars"
  366. inkey( 20 )
  367. whistle( "charge" )
  368. crazyb( "W+/N" )
  369. inkey( 1 )
  370. SETCOLOR( "+W/N" )
  371. @ 12,20 SAY " ...and only silence remains  "
  372. inkey( 4 )
  373.  
  374. /*
  375.  
  376.    Demonstration of the Horizontal Stripes
  377.  
  378. */
  379.  
  380. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  381. inkey( .4 )
  382. SETCOLOR( "+GR/R" )
  383. @ 07, 12, 17, 66 BOX "┌─┐│┘─└│  "
  384. shadow( 07, 12, 17, 66 )
  385. SETCOLOR( "+W/R" )
  386. @ 08,14 SAY "Well I am no            , but I am sure I had you"
  387. @ 09,14 SAY "going their for a moment. Oh, for those who are"
  388. @ 10,14 SAY "still piling canned foods into the cellar, you"
  389. @ 11,14 SAY "may stop now it was a joke. A rather good one huh!"
  390. @ 13,14 SAY "During that mad invasion I had a vision. A vision"
  391. @ 14,14 SAY "of Stripes!!. No, no ANSI pictures of Bill Murray,"
  392. @ 15,14 SAY "just this. Our function HSTRIPE()"
  393. SETCOLOR( "+B/R" )
  394. @ 17,26 SAY " Press any key to continue "
  395. SETCOLOR( "+BG/R" )
  396. @ 08,27 SAY "Orson Wells"
  397. SETCOLOR( "+G/R" )
  398. @ 15,38 SAY "HSTRIPE()"
  399. inkey( 20 )
  400. hStripe( "W+/N" )
  401. inkey( 1 )
  402.  
  403. /*
  404.  
  405.    Demonstration of the Vertical Stripes
  406.  
  407. */
  408.  
  409. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  410. inkey( 1 )
  411. SETCOLOR( "+GR/R" )
  412. @ 07, 17, 15, 61 BOX "┌─┐│┘─└│ "
  413. shadow( 07, 17, 15, 61 )
  414. SETCOLOR( "+W/R" )
  415. @ 09,24 SAY "What goes up must come across!"
  416. @ 11,19 SAY "So ladies and gentlemen I present to you"
  417. SETCOLOR( "+BG/R" )
  418. @ 13,35 SAY "VSTRIPE()"
  419. SETCOLOR( "+G/R" )
  420. @ 15,32 SAY " Press any key "
  421. inkey( 10 )
  422. vStripe( "W+/N" )
  423. inkey( 1 )
  424.  
  425. /*
  426.  
  427.    Demonstration of the Dual L->R R->L Vertical Stripes
  428.  
  429. */
  430.  
  431. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  432. inkey( 1 )
  433. SETCOLOR( "+GR/B" )
  434. @ 07, 17, 16, 61 BOX "┌─┐│┘─└│ "
  435. shadow( 07, 17, 16, 61 )
  436. SETCOLOR( "+W/B" )
  437. @ 09,19 SAY "But wouldn't it be neat if it could wipe"
  438. @ 10,19 SAY "left to right and right to left verticaly"
  439. @ 11,19 SAY "all at the same time? It would. So by the"
  440. @ 12,19 SAY "power invested in me by the sacred State"
  441. @ 13,19 SAY "of <fill state in here> I present you"
  442. @ 14,19 SAY "DSTRIPE()! (loud cheers from all around)"
  443. SETCOLOR( "+G/B" )
  444. @ 16,32 SAY " Press any key "
  445. SETCOLOR( "+BG/B" )
  446. @ 13,23 SAY "fill state in here"
  447. SETCOLOR( "+BR/B" )
  448. @ 14,19 SAY "DSTRIPE()"
  449. SETCOLOR( "+GR/B" )
  450. @ 14,31 SAY "loud cheers from all around"
  451. inkey( 10 )
  452. dStripe( "W+/N" )
  453. inkey( 1 )
  454.  
  455. /*
  456.  
  457.    Demonstration of the Throw Up Wipe
  458.  
  459. */
  460.  
  461. SETCOLOR( "+G/B" )
  462. @ 04, 12, 18, 66 BOX "┌─┐│┘─└│ "
  463. shadow( 04, 12, 18, 66 )
  464. SETCOLOR( "+W/B" )
  465. @ 06,14 SAY "End now? Are you crazy, we are just getting started"
  466. @ 08,14 SAY "Ever wonder what would happen to your screen if you"
  467. @ 09,14 SAY "ran a vacumn cleaner over the top of your monitor?"
  468. @ 11,14 SAY "Ever wonder what would happen if while using your"
  469. @ 12,14 SAY "laptop on an Airplane the window next to your seat"
  470. @ 13,14 SAY "suddenly shattered?"
  471. @ 15,14 SAY "Well let us call upon our THROWUP() function to"
  472. @ 16,14 SAY "demonstrate shall we!"
  473. SETCOLOR( "R/B" )
  474. @ 18,26 SAY " Press any key to continue "
  475. SETCOLOR( "+GR/B" )
  476. @ 15,40 SAY "THROWUP()"
  477. inkey( 20 )
  478. ThrowUp( "W+/N" )
  479. inkey( 2 )
  480.  
  481. /*
  482.  
  483.    Demonstration of the Throw Down wipe
  484.  
  485. */
  486.  
  487. SETCOLOR( "+G/B" )
  488. @ 04, 12, 18, 66 BOX "┌─┐│┘─└│ "
  489. shadow( 04, 12, 18, 66 )
  490. SETCOLOR( "+W/B" )
  491. @ 06,14 SAY "Wait don't fret! We have thought of it all when it"
  492. @ 07,14 SAY "comes to the extreme variations in the individual"
  493. @ 08,14 SAY "computing enviornment!"
  494. @ 10,14 SAY "For all of you who for some unknown reason, in my"
  495. @ 11,14 SAY "opinion it's all the oatmeal you eat, use your very"
  496. @ 12,14 SAY "own monitors upside down on a daily basis we know"
  497. @ 13,14 SAY "that the last demonstration didn't fit it's descri-"
  498. @ 14,14 SAY "ption. Well here's what it would have looked like,"
  499. @ 15,14 SAY "and people with regular monitors we apoligize for"
  500. @ 16,14 SAY "this little detour. Now, on with THROWDN()."
  501. SETCOLOR( "R/B" )
  502. @ 18,26 SAY " Press any key to continue "
  503. SETCOLOR( "+GR/B" )
  504. @ 16,47 SAY "THROWDN()"
  505. inkey( 20 )
  506. ThrowDn( "W+/N" )
  507. inkey( 1 )
  508.  
  509. /*
  510.  
  511.    Demonstration of the 4 Basic Wipes
  512.  
  513. */
  514.  
  515. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  516. inkey( 1 )
  517. SETCOLOR( "+G/BR" )
  518. @ 04, 11, 19, 67 BOX "┌─┐│┘─└│ "
  519. shadow( 04, 11, 19, 67 )
  520. SETCOLOR( "+W/BR" )
  521. @ 06,13 SAY "No, we didn't forget about you conservative types out"
  522. @ 07,13 SAY "there in programmers land."
  523. @ 09,13 SAY "We didn't forget to go back to the basics of screen"
  524. @ 10,13 SAY "wipes to bring the 4 grandaddy's of'em all, those"
  525. @ 11,13 SAY "ever CLOSEIN(), OPENUP(), BLINDUP(), BLINDDN()."
  526. @ 13,13 SAY "What? You don't remember them by there god given"
  527. @ 14,13 SAY "names? Well heck actions speek louder than words so"
  528. @ 15,13 SAY "I'll show'em to ya one by one."
  529. SETCOLOR( "+GR/BR" )
  530. @ 11,18 SAY "CLOSEIN()"
  531. @ 11,29 SAY "OPENUP()"
  532. @ 11,39 SAY "BLINDUP()"
  533. @ 11,50 SAY "BLINDDN()."
  534. SETCOLOR( "BG+/BR" )
  535. inkey( 7 )
  536. @ 17,15 SAY "CLOSEIN()"
  537. temp_scr := Push_Scr( 00, 00, 24, 79 )
  538. inkey( 4 )
  539. CloseIn()
  540. inkey( 1 )
  541. Pop_Scr( temp_scr )   // Retrieve Wipeout Logo Background from the Stack
  542. SETCOLOR( "BG+/BR" )
  543. @ 17,28 SAY "OPENUP()"
  544. temp_scr := Push_Scr( 00, 00, 24, 79 )
  545. inkey( 4 )
  546. OpenUp( "W+/N" )
  547. inkey( 1 )
  548. Pop_Scr( temp_scr )   // Retrieve Wipeout Logo Background from the Stack
  549. SETCOLOR( "BG+/BR" )
  550. @ 17,40 SAY "BLINDUP()"
  551. temp_scr := Push_Scr( 00, 00, 24, 79 )
  552. inkey( 4 )
  553. BlindUp( "W+/N" )
  554. inkey( 1 )
  555. Pop_Scr( temp_scr )   // Retrieve Wipeout Logo Background from the Stack
  556. SETCOLOR( "BG+/BR" )
  557. @ 17,53 SAY "BLINDDN()"
  558. temp_scr := Push_Scr( 00, 00, 24, 79 )
  559. inkey( 4 )
  560. BlindDn( "W+/N" )
  561. inkey( 1 )
  562.  
  563. /*
  564.  
  565.    Demonstration of the All Sides to Center Wipe
  566.  
  567. */
  568.  
  569. Pop_Scr( ssPoint )  // Retrieve Wipeout Logo Background from the Stack
  570. inkey( 1 )
  571. SETCOLOR( "+GR/B" )
  572. @ 06, 08, 18, 71 BOX "┌─┐│┘─└│ "
  573. shadow( 06, 08, 18, 71 )
  574. SETCOLOR( "+W/B" )
  575. @ 07,10 SAY "The nice little old lady down there in the frontrow just"
  576. @ 08,10 SAY 'handed me a note that says.."Could you make all 4 sides'
  577. @ 09,10 SAY 'close in at one time". Could I? Of course I can.'
  578. @ 11,10 SAY "This next trick goes out to the little old lady in the front"
  579. @ 12,10 SAY "row, for without her dedication we here tonight we would"
  580. @ 13,10 SAY "never have seen this next illusion!"
  581. @ 14,10 SAY "(Hey I have to be nice, I sell life insurance as a side job)"
  582. @ 16,10 SAY "For your entertainment, I present ALLIN()"
  583. SETCOLOR( "+BR/B" )
  584. @ 16,44 SAY "ALLIN()"
  585. inkey( 17 )
  586. AllIn( "W+/N" )
  587. inkey( 1 )
  588.  
  589. /*
  590.  
  591.    Demonstration of the Center to 4 Corner wipe
  592.  
  593. */
  594.  
  595. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  596. inkey( 1 )
  597. SETCOLOR( "+GR/B" )
  598. @ 06, 10, 15, 68 BOX "┌─┐│┘─└│ "
  599. shadow( 06, 10, 15, 68 )
  600. SETCOLOR( "+W/B" )
  601. @ 08,12 SAY "The next wipe I want to show you is called CORNEROUT()."
  602. @ 10,12 SAY "This is actually an accident, kind of like FoxPro, that"
  603. @ 11,12 SAY "came about while trying to reverse ALLIN()."
  604. @ 13,12 SAY "And it goes something like this...."
  605. SETCOLOR( "GR+/B" )
  606. @ 08,55 say "CORNEROUT()"
  607. @ 11,47 say "ALLIN()"
  608. SETCOLOR( "+BG/B" )
  609. @ 15,26 SAY " Press any key to continue "
  610. inkey( 10 )
  611. CornerOut( "W+/N" )
  612. inkey( 1 )
  613.  
  614. /*
  615.  
  616.    Demonstration of the Split Personality Wipes
  617.  
  618. */
  619.  
  620. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  621. inkey( 1 )
  622. SETCOLOR( "+GR/R" )
  623. @ 07, 10, 16, 68 BOX "┌─┐│┘─└│ "
  624. shadow( 07, 10, 16, 68 )
  625. SETCOLOR( "+W/R" )
  626. @ 09,12 SAY "Sometime when developing Applications I can't figure out"
  627. @ 10,12 SAY "which way is Up. Kind of a Split Personality so to"
  628. @ 11,12 SAY "speak. In fact if my brain waves could be mapped, which"
  629. @ 12,12 SAY "by the way is totally impossible due to their complex"
  630. @ 13,12 SAY "advanced state over that of a human genious, they just"
  631. @ 14,12 SAY "might look like this, played by Wipeout function UpDn()"
  632. SETCOLOR( "+BG/R" )
  633. @ 16,26 SAY " Press any key to continue "
  634. SETCOLOR( "+BR/R" )
  635. @ 10,39 SAY "Split Personality"
  636. SETCOLOR( "+G/R" )
  637. @ 14,44 SAY "Wipeout"
  638. SETCOLOR( "B/R" )
  639. @ 14,61 SAY "UpDn()"
  640. inkey( 15 )
  641. UpDn( "W+/N" )
  642. inkey( 1 )
  643. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  644. inkey( 1 )
  645. LnR( "W+/N" )
  646. inkey( 1 )
  647.  
  648. /*
  649.  
  650.    Demonstration of the Roman Column Wipe
  651.  
  652. */
  653.  
  654. Pop_Scr( ssPoint )  // Retrieve Wipeout Logo Background from the Stack
  655. inkey( 1 )
  656. SETCOLOR( "+GR/B" )
  657. @ 06, 10, 18, 69 BOX "┌─┐│┘─└│ "
  658. shadow( 06, 10, 18, 69 )
  659. SETCOLOR( "+W/B" )
  660. @ 08,12 SAY "Since I was a child I was always told by my parents that"
  661. @ 09,12 SAY "'When in Rome do as the Romans' and I am sure you've"
  662. @ 10,12 SAY "heard it to."
  663. @ 12,12 SAY "Well since this isn't Rome, I decided not to let this"
  664. @ 13,12 SAY "wonderful bit of philisophical jargon go to waste so I"
  665. @ 14,12 SAY "brought Rome here to you!"
  666. @ 16,12 SAY "Vino, Vini, Vici. I present the all might COLUMN() wipe."
  667. SETCOLOR( "+BG/B" )
  668. @ 18,26 SAY " Press any key to continue "
  669. SETCOLOR( "+BR/B" )
  670. @ 09,13 SAY "When in Rome do as the Romans"
  671. SETCOLOR( "+GR/B" )
  672. @ 16,54 SAY "COLUMN()"
  673. inkey( 10 )
  674. Column( "W+/N" )
  675. inkey( 1 )
  676.  
  677. /*
  678.  
  679.    Demonstration of the Thresher < Farm Machinery > Wipe
  680.  
  681. */
  682.  
  683.  
  684. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  685. inkey( 1 )
  686. SETCOLOR( "+GR/R" )
  687. @ 06, 9, 17, 70 BOX "┌─┐│┘─└│ "
  688. shadow( 06, 9, 17, 70 )
  689. SETCOLOR( "+W/R" )
  690. @ 08,11 SAY "What? You say your cross-eyed? Well no worry, would you"
  691. @ 09,11 SAY "believe I thought of that one also!."
  692. @ 11,11 SAY "Just to make it all look the same to everyone, I present"
  693. @ 12,11 SAY "you THRESHER(). Why Thresher? I don't know, to me it looks"
  694. @ 13,11 SAY "like the screen is being run over by heavy farm machinery."
  695. @ 15,11 SAY "So..."
  696. SETCOLOR( "+BG/R" )
  697. @ 17,26 SAY " Press any key to continue "
  698. SETCOLOR( "+G/R" )
  699. @ 12,15 SAY "THRESHER()"
  700. inkey( 10 )
  701. Thresher( "W+/N" )
  702. inkey( 1 )
  703.  
  704. /*
  705.  
  706.    Demonstration of the Wipeon Effects
  707.  
  708. */
  709.  
  710. Mesh( "B/N" )    // Load mesh background ( Wipeout Internal Call )
  711. vSave()          // Preform Vertical Capture
  712. hSave()          // Preform Horizontal Capture
  713. inkey( 1 )
  714. SETCOLOR( "+W/R" )
  715. @ 05, 10, 19, 69 BOX "┌─┐│┘─└│ "
  716. Shadow( 05, 10, 19, 69 )
  717. @ 07,12 SAY "To demonstrate our next two functions, we are going to"
  718. @ 08,12 SAY "go back and request the assistance of our           and"
  719. @ 09,12 SAY "          functions. Often it is nice to wipe a screen"
  720. @ 10,12 SAY "and reveal one at the same time. The Wipeout Library has"
  721. @ 11,12 SAY "a few functions that make this quit painless. Some of"
  722. @ 12,12 SAY "our functions have a parameter that specifies if or if"
  723. @ 13,12 SAY "not to display a screen while wiping one. By name they"
  724. @ 14,12 SAY "are called         and      . For our example we will"
  725. @ 15,12 SAY "use this blue mesh background as a 'wipeon' screen. So"
  726. @ 16,12 SAY "without further ado I present           as shown by our"
  727. @ 17,12 SAY '                    function and syntax.'
  728. SETCOLOR( "+BG/R" )
  729. @ 19,26 SAY " Press any key to continue "
  730. SETCOLOR( "+GR/R" )
  731. @ 08,54 SAY "DSTRIPE()"
  732. @ 09,12 SAY "HSTRIPE()"
  733. SETCOLOR( "+BG/R" )
  734. @ 14,23 SAY "HSAVE()"
  735. @ 14,35 SAY "VSAVE"
  736. SETCOLOR( "+G/R" )
  737. @ 16,42 SAY "VSTRIPE()"
  738. SETCOLOR( "+GR/R" )
  739. @ 17,12 SAY 'DSTRIPE("B+/N",.T.)'
  740. inkey( 10 )
  741. Pop_Scr( ssPoint )   // Retrieve Wipeout Logo Background from the Stack
  742. DSTRIPE( "B+/N",, .T. )
  743. inkey( 2 )
  744. Pop_Scr( ssPoint )  // Retrieve Wipeout Logo Background from the Stack
  745. inkey( 1 )
  746. SETCOLOR( "+W/BR" )
  747. @ 08, 17, 14, 60 BOX "┌─┐│┘─└│ "
  748. shadow( 08, 17, 14, 60 )
  749. @ 10,19 SAY "And of course we should be able to do it"
  750. @ 11,19 SAY "Horizontally, so with HSTRIPE() you see"
  751. @ 12,19 SAY "an effect that looks like....."
  752. SETCOLOR( "+BG/BR" )
  753. @ 14,31 SAY " Press a Key "
  754. SETCOLOR( "+GR/BR" )
  755. @ 11,41 SAY "HSTRIPE()"
  756. inkey( 10 )
  757. hstripe( "B+/N", .T. )
  758. lScp := SAVESCREEN( 0, 0, 24, 79 )
  759. inkey( 1 )
  760.  
  761. /*
  762.  
  763.    Goodbye!
  764.  
  765. */
  766. DispBegin()
  767. SETCOLOR( "W/N" )
  768. CLEA
  769. SETCOLOR( "+G/N" )
  770. @ 04, 00, 19, 79 BOX "┌─┐│┘─└│ "
  771. SETCOLOR( "+W/N" )
  772. @ 06,06 SAY "I hope you enjoyed this little demonstration of"
  773. @ 07,16 SAY "If you have any questions, feel free to contact"
  774. SETCOLOR( "+R/N" )
  775. @ 19,26 SAY " Press any key to Continue "
  776. SETCOLOR( "+BR/N" )
  777. @ 06,54 SAY "The Wipeout Library!"
  778. @ 09,05 SAY "In the USA"
  779. @ 09,45 SAY "In Europe"
  780. SETCOLOR( "+BG/N" )
  781. @ 10,5 SAY "Mark Lussier             "
  782. @ 10,45 SAY "INFO-WARE G. Kellinghuson"
  783. SETCOLOR( "+G/N" )
  784. @ 10,38 SAY "│"
  785. @ 11,38 SAY "│"
  786. @ 12,38 SAY "│"
  787. @ 13,38 SAY "│"
  788. @ 14,38 SAY "│"
  789. @ 15,38 SAY "│"
  790. @ 16,38 SAY "│"
  791. SETCOLOR( "+GR/N" )
  792. @ 11,05 SAY "2700 Del Medio Court"
  793. @ 11,45 SAY "Gasstraße 18"
  794. @ 12,05 SAY "Suite 307          "
  795. @ 12,45 SAY "D-2000, Hamburg 50"
  796. @ 13,05 SAY "Mtn. View, CA  94040"
  797. @ 13,45 SAY "Germany "
  798. @ 15,45 SAY "+49 40 89094161  (Voice Sales)"
  799. @ 16,45 SAY "+49 40 89094111  (Fax Line)"
  800. @ 15,5 SAY "(415) 949-4478  ( Voice )"
  801. cSave()
  802. Restscreen( 0, 0, 24, 79, lScp )
  803. Dispend()
  804. CrazyB( "W+/N", .T. )
  805. cRel()
  806. inkey( 20 )
  807. setcolor( "w/n" )
  808. ThrowAll( "W+/N" )
  809. clea
  810. setcursor( SC_NORMAL )
  811. setcolor( "w/n" )
  812. @ 21,0 say ""
  813. Return( NIL )
  814.  
  815. Function Intro()
  816. Local GetList := {}, key
  817. CLEAR
  818. SETCOLOR( "+W/B" )
  819. @ 5, 0 SAY replicate('▄',35) COLOR "GR+/N"
  820. @ 6, 0 SAY replicate('▄',5)+"┌"+replicate('─',7)+"┐"+replicate('▄',7)+"┌"+replicate('─',7)+"┐"+replicate('▄',5)
  821. @ 7, 0 SAY replicate('▄',5)+"│"+space(7)+"│"+replicate('▄',7)+"│"+space(7)+"│"+replicate('▄',5)
  822. @ 8, 0 SAY replicate('▄',5)+"└─┐   ┌─┘"+replicate('▄',7)+"└─┐   ┌─┘"+replicate('▄',5)
  823. @ 9, 0 SAY replicate('▄',7)+"│   │"+replicate('▄',2)+"┌"+replicate('─',5)+"┐"+replicate('▄',2)+"│   │"+replicate('▄',7)
  824. @ 10, 0 SAY replicate('▄',7)+"│   │▄┌┘     └┐▄│   │"+replicate('▄',7)
  825. @ 11, 0 SAY replicate('▄',7)+"│   │┌┘  ┌─┐  └┐│   │"+replicate('▄',7)
  826. @ 12, 0 SAY replicate('▄',7)+"│   └┘  ┌┘▄└┐  └┘   │"+replicate('▄',7)
  827. @ 13, 0 SAY replicate('▄',7)+"└┐"+space(6)+"│"+replicate('▄',3)+"│"+space(6)+"┌┘"+replicate('▄',7)
  828. @ 14, 0 SAY replicate('▄',8)+"└"+replicate('─',6)+"┘"+replicate('▄',3)+"└"+replicate('─',6)+"┘"+replicate('▄',8)
  829. @ 15, 0 SAY replicate('▄',35)
  830. @ 16, 0 SAY replicate('▄',35)
  831.  
  832. SETCOLOR( "W+/N" )
  833. @ 23, 8 SAY "The Wipeout Library is being issued under the SHAREWARE concept"
  834. @ 24, 15 SAY "This library is NOT Public Domain and is NOT Free"
  835.  
  836. SETCOLOR( "+R/N" )
  837. @ 4,0 SAY replicate('═',80)
  838. @ 18,0 SAY replicate('═',80)
  839.  
  840. SETCOLOR( "+BR/N" )
  841. @ 6,0 SAY replicate('▄',5)
  842. @ 6,14 SAY replicate('▄',7)
  843. @ 6,30 SAY replicate('▄',5)+" "
  844.  
  845. SETCOLOR( "+R/N" )
  846. @ 7,0 SAY replicate('▄',4)
  847. @ 7,14 SAY replicate('▄',6)
  848. @ 7,30 SAY replicate('▄',5)+" "
  849. @ 14,0 SAY replicate('▄',6)
  850. @ 14,16 SAY replicate('▄',2)
  851. @ 14,27 SAY replicate('▄',8)
  852. SETCOLOR( "+N/N" )
  853. @ 7,4 SAY "▄"
  854. @ 7,20 SAY "▄"
  855. @ 8,4 SAY "▄"
  856. @ 8,20 SAY "▄"
  857. @ 9,4 SAY replicate('▄',3)
  858. @ 9,21 SAY replicate('▄',2)
  859. @ 10,6 SAY "▄"
  860. @ 10,12 SAY "▄"
  861. @ 10,22 SAY "▄"
  862. @ 11,6 SAY "▄"
  863. @ 12,6 SAY "▄"
  864. @ 12,17 SAY "▄"
  865. @ 13,6 SAY "▄"
  866. @ 13,18 SAY "▄"
  867. @ 14,6 SAY replicate('▄',2)
  868. @ 14,18 SAY "▄"
  869. @ 15,7 SAY replicate('▄',8)
  870. @ 15,18 SAY replicate('▄',8)
  871.  
  872. SETCOLOR( "+BG/N" )
  873. @ 8,0 SAY replicate('▄',4)
  874. @ 8,14 SAY replicate('▄',6)
  875. @ 8,30 SAY replicate('▄',5)
  876. @ 15,0 SAY replicate('▄',7)
  877. @ 15,15 SAY replicate('▄',3)
  878. @ 15,26 SAY replicate('▄',9)
  879.  
  880. SETCOLOR( "+G/N" )
  881. @ 9,0 SAY replicate('▄',4)
  882. @ 9,12 SAY replicate('▄',2)
  883. @ 9,28 SAY replicate('▄',7)+" "
  884. @ 16,0 SAY replicate('▄',35)+" "
  885.  
  886.  
  887. SETCOLOR( "+B/N" )
  888. @ 10,0 SAY replicate('▄',6)
  889. @ 10,28 SAY replicate('▄',7)
  890.  
  891. SETCOLOR( "+GR/N" )
  892. @ 12,0 SAY replicate('▄',6)
  893. @ 12,28 SAY replicate('▄',7)
  894.  
  895. SETCOLOR( "+BR/N" )
  896. @ 13,0 SAY replicate('▄',6)
  897. @ 13,16 SAY replicate('▄',2)
  898. @ 13,28 SAY replicate('▄',7)
  899.  
  900.  
  901.  
  902. SETCOLOR( "+W/BG" )
  903. @ 6,38,8,77 BOX "         "
  904. @ 6, 45 SAY "The Wipeout Library v1.12"
  905. SETCOLOR( "+N/BG" )
  906. @ 7,42 SAY "Copyright (c) 1991 Mark Lussier"
  907. @ 8,48 SAY "All Rights Reserved"
  908. SETCOLOR( "+W/N" )
  909. @ 10,38,16,77 BOX "         "
  910. @ 12, 45 SAY "Dazzling Effects & Sounds"
  911. @ 13, 41 SAY "for you Clipper 5.01 Applications"
  912. SETCOLOR( "+GR/N" )
  913. @ 10,45 SAY " Demonstration Program "
  914. SETCOLOR( "+BG/N" )
  915. @ 12,54 SAY "Effects"
  916. @ 12,64 SAY "Sounds"
  917. SETCOLOR( "+G/N" )
  918. @ 13,49 SAY "Clipper 5.01"
  919. SETCOLOR( "+BR/N" )
  920. @ 15,39 SAY '"Adding Presentation to the Solution!" '
  921. Return( NIL )
  922.  
  923. Function mCenter( cString, nLine, cColor )
  924. Local nLen := ( ( 80 - Len( cString ) ) / 2 )
  925. DEVPOS( nLine, nLen )
  926. DEVOUT( cString, cColor )
  927. Return( NIL )